package com.example.distillapplication.data.viewmodel;

import androidx.lifecycle.ViewModel;

import com.example.distillapplication.data.viewmodel.base.UnPeekLiveData;

import java.util.Queue;

public class SerialMessageViewModel extends ViewModel {
    public UnPeekLiveData<Queue<byte[]>> serialQueue = new UnPeekLiveData<>();//串口发送数据队列
    public UnPeekLiveData<byte[]> serialBuffer = new UnPeekLiveData<>();//缓存

    //系统运行状态，蒸馏完成判断
    public UnPeekLiveData<Integer> onDistillFlag = new UnPeekLiveData<>();//系统是否正在进行蒸馏操作？0:初始状态; 1:时间模式; 2: 蒸汽量模式
    public UnPeekLiveData<Boolean> timeSetup = new UnPeekLiveData<>();//工作模式设置（时间）
    public UnPeekLiveData<Boolean> steamVolumeSetup = new UnPeekLiveData<>();//工作模式设置（蒸汽量）
    public UnPeekLiveData<Double> targetTime = new UnPeekLiveData<>();//目标时间
    public UnPeekLiveData<Double> targetSteamVolume = new UnPeekLiveData<>();//目标蒸气量
    public UnPeekLiveData<Double> curSteamVolume = new UnPeekLiveData<>();//当前蒸气量
    public UnPeekLiveData<Double> startSteamVolume = new UnPeekLiveData<>();//蒸馏开始前的蒸气量


    public synchronized void insertQueue(byte[] order){
        Queue<byte[]> tempQueue = serialQueue.getValue();
        tempQueue.offer(order);
        serialQueue.setValue(tempQueue);
    }
}
